<template>
    <div class="person">
        <h2>姓名: {{ name }}</h2>
        <h2>年龄:{{ age }}</h2>
        <button @click="changeName">修改名字</button>
        <button @click="changeAge">修改年龄</button>
        <button @click="showTel">查看联系方式</button>
    </div>
</template>

<script lang="ts">
 

    export default{
        name:'Person',
        // data() {//vue2选项式写法
        //     return{
        //         name:'张三',
        //         age:18,
        //         tel:10089
        //     }
        // },
        // methods:{
        //     changeName(){
        //         this.name="李星云"
        //     },
        //     changeAge(){
        //         this.age+=1
        //     },
        //     showTel(){
        //         alert(this.tel)
        //     }
        // },

        //setup中的this是undefined
        setup() {
            //数据
            let name = '张三' //此时的name不是响应式的
            let age = 18
            let tel = 1343546    

            //方法
            function changeName(){
                name="李星云"
            }
            function changeAge(){
                age+=1
            }
            function showTel(){
                alert(tel)
            }

            
            return {name,age,changeName,changeAge,showTel}
        },
    }

</script>

<style scoped>
    .person {
        background-color: aqua;
        box-shadow: 0 0 10px;
        border-radius: 10px;
        padding: 20px;
    }
    button {
        margin: 0 5px;
    }
</style>